1. Field
This disclosure relates generally to data processing of linguistic data, and, more particularly, to a natural language processing system and method for resolving partial matches.
2. Background
A natural language processing (NLP) system is a computer-implemented software system that intelligently derives meaning and context from a natural language input, such as an input string of natural language text. A NLP system assists the computer in distinguishing how words are used in different contexts and in applying rules to construct syntactical and meaning representations. A NLP system has many different applications where a computer derives meaning and information from a natural language query or command, including (but not limited to) formulating database searches, speech and handwriting recognition, grammar and spell checking, and language translation.
A challenge in existing NLP systems is the ability to match products or entities that are not fully specified in a natural language input or query. For example, in a NLP system that parses user input or queries to find entities (e.g., products) in a list (e.g., catalog), the list may include the following entities:                1. Optima™ AgfaPhoto™ 102        2. Canon™ EOS™ 5D mark iii        3. EOS™ Rebel™ t3i        4. EOS™ Canon™ 1Ds Mark iii        
In this example, a user might submit a natural language query that contains a partial set of tokens, such as one of the following illustrative queries:                1. “What 5d mark iii model camera from Canon sold the best?”        2. “What agfa and powershot cameras from canon sold the best?”        
In parsing a natural language input or query that includes a partial set of tokens, like the example queries above, existing NLP systems may resolve the query to multiple product matches or entities, when the query may in fact be directed to a single product or entity (as in the first query above).